package com.easylinkin.sm.permission;

import com.easylinkin.sm.permission.impl.SimpleJpaDepartmentPermission;

/**
 * 组织机构权限
 *
 * @author TianGanLin
 * @since 1.0.0, 2019/10/16
 */
public interface DepartmentPermission {

  /**
   * 设置所属组织机构
   *
   * <p>查询指定组织机构下的数据
   *
   * @param id 组织机构ID
   */
  DepartmentPermission department(Long id);

  /**
   * 设置所属组织机构
   *
   * <p>查询当前组织机构下的数据
   */
  DepartmentPermission currentDepartment();

  /**
   * 设置深度遍历标识
   *
   * <p>通常表示查询子集
   */
  DepartmentPermission deep();
}
